home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
FM Towns: Free Software Collection 11
/
FM Towns Free Software Collection 11.iso
/
t_os
/
tool
/
tmenusel
/
tmenusel.doc
next >
Wrap
Text File
|
1995-07-30
|
9KB
|
230 lines
---------------------------------------
Towns MENU 背景画 'TMENU.TIF' ランダムセレクター TMENUSEL
TMENUSEL: 'tmenu.tif' random selector (c)たくりん Jul 19 1995
---------------------------------------
◆はじめに
私は、フリコレ収録のグラフィックで、「TownsMENUの背景にいいな」と
いうものがあると、それをHDDに複写しておいて、毎回起動時にその中の一枚をラ
ンダムに選択し、表示するようにしています(フリコレ8収録の、BUN氏作のTo
wnsMenu背景画選択プログラムTIFSEL.EXPを使用)。
しかし、フリコレも歴史を重ね、私の背景用TIFFも多数になり、フリコレごと
にサブディレクトリに分けて管理したくなりました。そこで、複数のディレクトリの
中のTIFFファイルから、一枚を選ぶツールを作ってみました。
◆概要
指定されたディレクトリ内のTIFFファイルの中から、ランダムに一枚を選択し、
背景用TIFFである“tmenu.tif”に複写します。その際、圧縮TIFF
を伸長したり、あるいは、その逆もできます。ディレクトリは複数指定したり、サブ
ディレクトリを再帰的に対象にすることもできます。
ただし、TIFFファイルの色数や、縦横のサイズなどのチェックはしていません。
背景に使えないTIFF(256色など)が混ざっていても、処理してしまいます。
◇動作環境
FM TOWNS/FM TOWNS II 全機種
TownsOS V2.1L20以降のコマンドモード上
◇開発環境&動作確認
FM TOWNS II MA20(RAM 10MB)
+ DX4カード(FMT-3624)
+ 内蔵HDD 520MB(Fixel in TOWNS EBF-500)
TownsOS V2.1L50B
+ High C Compiler マルチメディアキット V1.7L12
◆ファイル
tmenusel.doc:説明書(このファイル)
tmenusel.exp:プログラム本体
tmenusel.ggg:概要書
◆使用法
このプログラムは、コマンドモード(コンソール)上で使うように設計されていま
すが、通常は、“autoexec.bat”内や、もしくは、パラメータを与えて
アイテム登録したほうが良いでしょう。
USAGE: run386 tmenusel -[cxlr] file_spec
c: Compress, x: eXpand, l: List
r: Recursively into sub-directory
(1)cまたは、xの一方だけが指定できます。file_specに適合した全
TIFFファイルの中から、ランダムに一枚を選択し、cの場合は圧縮、xの場合は
伸長します。
(2)lは、file_specに適合するファイルのリストと、該当ファイル数、
今回ランダムに選択されたファイル名を表示します。下に例を示します。
1 : E:/data/tmenu/fc03/file1.tif
2 : E:/data/tmenu/fc03/file2.tif
3 : E:/data/tmenu/fc03/file3.tif
(中略)
180 : E:/data/tmenu/fc10/file180.tif
181 : E:/data/tmenu/fc10/file181.tif
該当ファイル数 : 182
今回選択されたファイル : 155 番目
E:/data/tmenu/fc10/file155.tif
(3)処理結果は、環境変数“TMENU”の示すディレクトリの“tmenu.
tif”に出力します。環境変数が設定されていない場合は、カレントディレクトリ
に出力します。
(4)file_specには、DOSのワイルドカードが使用できます(ファイ
ル名のみ)。拡張子は“.tif”のみが指定できます(省略した場合は、自動的に
“.tif”を付け足します)。また、file_specに、ディレクトリ名を指
定すると(“.”や“..”も含む)、そのディレクトリ全体が対象となります。ディ
レクトリ名を指定し、rオプションを指定すると、サブディレクトリも再帰的に対象
となります。
(5)file_specは、複数個書くことができます。オプションは、先頭に
指定してください。
(6)オプションを何も指定しないと、lが指定されたものとみなします。
(7)パラメータを一つも与えないときは、USAGEを表示します。
(8)“autoexec.bat”内で使うと、毎回異なった背景で、立ち上げ
ることができます。また、アイテム登録しておくと、TownsMENU上で、すぐ
に背景を変更することができます。背景用のTIFFは、次のようなディレクトリに
格納してあるとして、それぞれ、例を示します。
・背景用TIFFの格納場所の例
E:TOWNSITEM
\
+----BIN
+----DATA
| +----ICN
| +----IDX
| +----TMENU
| +----FC03 ← これらのディレクトリに
| +----FC04 ←
| +----FC05 ← 背景用TIFFが
| +--(中略)
| +----FC10 ← 格納されている
+----GAME
| +----ENOLA
(後略)
・“autoexec.bat”内の使用例
(前略)
rem T-MENU背景画のランダムセレクト
\RUN386 E:\BIN\TMENUSEL -xr E:/data/tmenu
CONTROL -v -p -callbuf 32 ← CONTROL~の直前が良いようです
GOTO EXIT
(後略)
・TownsMENUにおけるアイテム登録の例
パス E:\BIN
ファイル名 TMENUSEL.EXP
タイトル 背景変更
パラメータ -xr E:/data/tmenu
アプリケーション MS-DOS ← 選択されたファイル名が分かります
ディレクトリ移動 なし
◆プログラムの動作について
ディレクトリの区切りは、“¥”と“/”のどちらも使えます。TMENUSEL
が自身で使うのは“/”なので、“/”をおすすめします。
通常、カレントディレクトリに、作業ファイルを生成しますが、環境変数“TMP”
もしくは“TEMP”が設定されている場合は、その環境変数が示すディレクトリを
使用します(“TMP”の設定の方が優先されます)。
ディレクトリの記述は、末尾に“¥”がなくてもかまいません。ディレクトリを
(環境変数“PATH”のように)複数指定したり、存在しないディレクトリを指定
したり、ファイル名まで指定したりすると、エラーになります。
対象となるファイルの数の上限や、処理できる画像のサイズは、メモリに依存しま
す。画像のサイズは、背景に使用できるものに限られるので、あまり問題にならない
と思いますが、適合するファイルの数が尋常でなく多いと、そのせいで、メモリ不足
になる可能性があります。
TMENUSELの名前が気に入らない場合は、TMENUSEL.EXP本体の
ファイル名を変更してもかまいません。その際、画面のコマンド名表示部も変わりま
す。
◆作者より
試しに、パラメータに“-lr Q:/”と指定して、フリコレ10の全ディレク
トリの検索をしてみたところ、私の環境では、約8分かかりました。ファイルにリダ
イレクトすると、一度に全TIFFファイルの格納場所を記録できます。
私はパソコン通信をやっていませんので、他のユーザーの反応が見えません。そこ
で、本作をインストールしてくださったかたや、使用されているかたは、次回のフリ
コレ応募の際、ドキュメントのどこかに、「TMENUSEL使ってる」と書いてく
ださると嬉しいです(どのくらいの人たちに使ってもらえるのか知りたいので)。
それから、NETへのアップロードも大歓迎です。どなたか、していただけないで
しょうか。連絡は、事後でも、なしでもかまいません。
◆参考文献
・LZEXP V1.2 ソースファイル
elfin氏作/フリコレ5収録
・「MS-DOSプログラミングテクニック」
アスキー書籍編集部編著/株式会社アスキー発行
・「情報処理技術者試験 C言語短期征服 94秋試験対策」
山本和明・平井利明・渡邉彰・長谷川豊各氏著/株式会社学習研究社発行
特に、LZEXPについては、ファイルの検索を行う部分をかなり参考にさせてい
ただきました。このソースがなければ、本作は実現できませんでした。また、ソース
の内容だけでなく、仕様やドキュメントの内容にいたるまで、多くの部分で模倣させ
ていただきました。この場をかりて、作者のelfin氏に、感謝とお礼を申し上げ
ます。
また、「MS-DOS~」については、ファイル名における全角文字の処理におい
て、非常に参考になりました。
「情報処理~」については、リスト処理の項が参考になりました。
◆初心者のかたへ
TownsOSのコマンドモード(コンソール)は、そのままでは非常に使いにく
いので、次のことを行うと、使いやすさが大幅にUPします。
・環境変数“PATH”を設定する
・環境変数“PATH386”を設定する
・環境変数“DOSX”に、“-nocrt”を設定する
・386.COMを使用する
注1)環境変数の設定のしかたや、環境変数“PATH”については、市販のMS-
DOSの書籍などをご覧ください。
注2)386.COM(後藤俊明氏作)は、フリコレ5や、NIFTY-Serve
FFMHOBのDL8などに収録されています(Oh!FM TOWNS 1995
年6月号より)。環境変数“PATH386”については、そのドキュメントをご覧
ください。
注3)環境変数“DOSX”を参照するプログラムもあるらしいので、注意してく
ださい。
◆履歴
・Jul 16 1995 版(個人的に配布)
拙作LZTIFFのソースをもとに、開発。
EXP本体のファイル名が長いと正常に動作しないバグを解消。
・Jul 19 1995 版(フリコレ11収録)
ドキュメント等の誤記を修正。
ファイル選択時の、乱数の決定法を変更。
◆使用、再配布等について
本作はフリーソフトウェアです。無償である限り、自由に配布/転載/使用して下
さって構いません。その際、ドキュメントファイル及び必須ファイル(あれば)を付
属して下さい。また、内容を改変した物や二次利用した作品は、その旨をドキュメン
ト等に明示して下さい。
また、本作について(鑑賞料やプレイ料金等)金銭受領をする場合や、本作及び二
次利用した作品を有償配布する場合には、事前にご連絡下さい。
本作品の使用、配布によるいかなる損害にも、作者は責任を負いません。
◇連絡先
〒262 千葉県千葉市花見川区長作町1682-312 金子方 たくりん宛
作品の感想、質問、バグ報告、改善提案等、作者への連絡は上記まで。